/*
 * 猜神童年龄（4分）
 */

#include <stdio.h>

int main() {
	setbuf(stdout, NULL);

	// NOTE: Variable declaration
	int prodigy_age, age_cube[4], age_quadruplicate[6];
	// 标记变量，用于标记两数组中是否有重复元素，一旦有重复，自增1。默认初值设定为0。
	int flag;

	// NOTE: Inputs

	// NOTE: Process
	for (prodigy_age = 10; prodigy_age <= 22; ++prodigy_age) {
		// 将神童年龄的立方值的各个数位保存到age_cube[]中
		for (int i = 0, temp = prodigy_age * prodigy_age * prodigy_age; i < 4; ++i) {
			age_cube[i] = temp % 10;
			temp /= 10;
		}

		// 将神童年龄的四次方值的各个数位保存到age_quadruplicate[]中
		for (int i = 0, temp = prodigy_age * prodigy_age * prodigy_age * prodigy_age; i < 6; ++i) {
			age_quadruplicate[i] = temp % 10;
			temp /= 10;
		}

		// 判断age_cube[]和age_quadruplicate[]中的各个数位是否不一样。等价于用age_cube[]的每一位和age_quadruplicate[]的每一位比较。当且仅当一个重复的也没有，预测才正确。但凡出现一处重复的值，就预测错误。
		// 初始化flag的值
		flag = 0;

		// 遍历两个数组，进行验证
		for (int i = 0; i < 4; ++i) {
			for (int j = 0; j < 6; ++j) {
				if (age_cube[i] == age_quadruplicate[j]) {
					++flag;
					break;
				}
			}

			// 一旦检测到flag=0，跳出循环，终止后续比较
			if (flag)
				break;
		}

		// 只有flag=0时，程序的值
		if (!flag)
			break;
	}


	// NOTE: Outputs
	printf("age=%d\n", prodigy_age);


	// NOTE: Ending
	return 0;
}